﻿using System;

namespace SilverMap
{
	/// <summary>
	/// Defines an object used to render individual map tiles of the SilverMap.UIMap control.
	/// </summary>
	public interface IMapItem
	{
		/// <summary>
		/// Gets or sets the X position at which to place the item.
		/// </summary>
		double X { get; set; }
		/// <summary>
		/// Gets or sets the Y position at which to place the item.
		/// </summary>
		double Y { get; set; }
		/// <summary>
		/// Gets or sets the z-index of this item, determining the order in which it is drawn within the layer.
		/// </summary>
		double Z { get; set; }
		/// <summary>
		/// Gets or sets the layer in which the item will be rendered.
		/// </summary>
		int Layer { get; set; }
		/// <summary>
		/// Gets or sets the width of the item.
		/// </summary>
		double Width { get; set; }
		/// <summary>
		/// Gets or sets the height of the item.
		/// </summary>
		double Height { get; set; }
		/// <summary>
		/// Gets or sets the opacity of the item.
		/// </summary>
		double Opacity { get; set; }
		/// <summary>
		/// Gets or sets the rotation of the item.
		/// </summary>
		double Rotation { get; set; }
		/// <summary>
		/// Gets or sets the scale of the item.
		/// </summary>
		double Scale { get; set; }
		/// <summary>
		/// Gets or sets the ITile instance representing the image for the current item.
		/// </summary>
		ITile Tile { get; set; }
	}
}
